package com.css.bjdt_core.cell.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.css.bjdt_core.cell.entity.CellData;
import com.css.bjdt_core.util.MyBatisDao;

@MyBatisDao
public interface CellDataDao {

	public List<CellData> selectCellData(@Param("annualId")String annualId, @Param("dzzId")String dzzId, @Param("templateId")String templateId, @Param("cellIds")String[] cellIds, @Param("cellType")String cellType, @Param("sumStatus")String sumStatus);

	public int countCellDataByTemplate(@Param("annualId")String annualId, @Param("dzzId")String dzzId, @Param("cellId")String cellId);

	public String sumCellData(@Param("annualId")String annualId, @Param("cellId")String cellId, @Param("dzzIds")String[] dzzIds);

	public void batchInsertCellData(@Param("annualId") String annualId, @Param("cellDatas") List<CellData> cellData);

	public void deleteCellDataByCellType(@Param("annualId") String annualId, @Param("dzzId") String dzzId);

	public void deleteCellDataByDzzIdAndTemplateId(@Param("annualId") String annualId, @Param("dzzId") String dzzId, @Param("templateId") String templateId);

	public void deleteCellDataByDzzIdAndTemplateIdSummary(@Param("annualId") String annualId, @Param("dzzId") String dzzId, @Param("templateId") String templateId);

	public void deleteSumCellDataByDzzIdAndTemplateId(@Param("annualId") String annualId, @Param("dzzId") String dzzId, @Param("templateId") String templateId, @Param("sumStatus") String sumStatus);

	public void deleteCellDataByDzzId(@Param("annualId") String annualId, @Param("dzzId") String dzzId);

	public void deleteCellSummaryDataByDzzId(@Param("annualId") String annualId, @Param("dzzId") String dzzId);

	public void updateCellDataValueById(@Param("annualId") String annualId, @Param("cellValue") String cellValue,@Param("cellDataId") String cellDataId);

	public void deleteCellDataByDzzIdAndTemplateIdGy(@Param("annualId") String annualId, @Param("dzzId") String dzzId, @Param("templateIdList") List<String> templateIdList);

	public int isHaveSumCellDataByTemplateAndDzzId(@Param("annualId") String annualId, @Param("dzzId") String dzzId, @Param("templateId") String templateId);

	public List<String> getCellValueByTemplateIdColRow(@Param("annualId") String annualId,@Param("dzzId") String dzzId, @Param("templateId") String templateId,@Param("col") String col,@Param("row") String row);

	public List<String> getCellValueByTemplateIdColRowSummary(@Param("annualId") String annualId,@Param("dzzId") String dzzId, @Param("templateId") String templateId,@Param("col") String col,@Param("row") String row);

	public void deleteCellDataValueByTemplateIdAndCellId(@Param("annualId") String annualId,@Param("templateId") String templateId,@Param("cellId") String cellId,@Param("dzzId") String dzzId);

	public int cellDataNotZeroCountByTemplate(@Param("annualId") String annualId, @Param("dzzId") String dzzId,@Param("templateId") String templateId);

	public void deleteAllCellDataByDzzIdAndTemplateId(@Param("annualId") String annualId, @Param("dzzId") String dzzId, @Param("templateIdList") List<String> templateIdList);
}
